class Animal:

    # 方法体是空实现的，就是抽象方法，类中存在抽象方法，就是抽象类
    def speak(self):
        pass


class Cat(Animal):

    def speak(self):
        print("喵喵喵")


class Dog(Animal):
    def speak(self):
        print("汪汪汪")


def make_noise(animal: Animal):
    animal.speak()


make_noise(Dog())
make_noise(Cat())


def static_test():
    print("nihao,zheshi jingtailei")


if __name__ == '__main__':
    static_test()
